//导入数据库操作模块
const db = require('../db/index')
//导入密码加密模块
const bcrypt = require('bcryptjs')

//获取用户基本信息的处理函数
exports.getUserInfo = (req,res) =>{
  const sql = `select avatar,email,id,mobile,username from user where id = ?`
  db.query(sql,req.user.id,(err,results)=>{
    //执行SQL语句失败
    if(err) return res.cc(err.message)
    else return res.send(results[0])
  })
}

//更新用户基本信息的处理函数
exports.updateUserInfo = (req,res) =>{
  const sql = `update user set ? where id=?`
  db.query(sql,[req.body,req.user.id],(err,results)=>{
    //执行SQL语句失败
    if(err) return res.cc(err.message)
    res.send({
      status:0,
      message:'修改信息成功！'
    })
  })
}

//修改用户密码的处理函数
exports.updatePassword = (req,res) =>{
  //先判断旧密码是否正确
  const old = req.body.oldPassword
  //对新密码进行加密
  const password = bcrypt.hashSync(req.body.newPassword,10) 
  const sql = `select * from user where id=?`
  db.query(sql,req.user.id,(err,results)=>{
    if(err) return res.cc(err)
    //请求成功提取密码与旧密码比较
    const compareResult = bcrypt.compareSync(old,results[0].password)
    if(!compareResult){
      return res.cc('旧密码错误！')
    }else{
      //再进行修改密码
      const sql = `update user set password=? where id=?`
      db.query(sql,[password,req.user.id],(err,results)=>{
        if(err) return res.cc(err.message)
        res.send({
          status:0,
          message:'修改密码成功！'
        })
      })
    }
  })
}